您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

图像编解码方法及编解码设备

  • 申请号:CN201110021897.2 申请公布号: CN102611884A
  • 申请日: 2011-01-19 申请公布日: 2012-07-25
  • 申请(专利权)人: 专利代理机构: 深圳市深佳知识产权代理事务所(普通合伙)
  • 分类号:H04N7/26

专利介绍

本发明实施例提供一种图像编解码方法及编解码设备,其中,图像编解码方法包括:根据划分线的方向、比例值和位置参数值,确定第二长度,第二长度为图像块的点在图像块的边界上的对应点到划分线的端点的距离;划分线的端点为划分线与图像块的边界或者边界的延长线的交点;所述位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;根据划分线的方向、第一长度、第二长度和所述比例值,确定图像块的划分模式;根据所述图像块的划分模式,对所述图像块进行编码;第一长度为所述图像块的点到图像块的边界的距离;对方向参数值、比例值和位置参数值进行编码。使用本发明实施例提供的技术方案,能够减少图像编码端确定图像块划分模式的复杂度。
1.一种图像编码方法,其特征在于,包括:根据划分线的方向、比例值和位置参数值,确定第二长度,第二长度为图像块的点在图像块的边界上的对应点到划分线的端点的距离;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点;其中,所述位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;根据划分线的方向、第一长度、第二长度和所述比例值,确定所述图像块的划分模式;根据所述图像块的划分模式,对所述图像块进行编码;其中,第一长度为所述图像块的点到图像块的边界的距离;对方向参数值、比例值和位置参数值进行编码,其中,所述方向参数值表示所述划分线的方向。
2.根据权利要求1所述的方法,其特征在于,当所述图像块的边界是所述图像块的上边界或者下边界时,所述图像块的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同横坐标的点;当所述图像块的边界是所述图像块的左边界或者右边界时,所述图像块的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同纵坐标的点。
3.根据权利要求1所述的方法,其特征在于,所述参考端点是:与所述划分线平行、且过所述图像块中心的线与所述图像块的边界的交点。
4.根据权利要求3所述的方法,其特征在于,根据划分线的方向、比例值和位置参数值,确定第二长度包括:当划分线的方向为从左上至右下时,所述图像块的中心点的坐标为(N-1,N),确定所述参考端点的坐标为:(0,N-N/scalar);当划分线的方向为从右上至左下时,所述图像块的中心点的坐标为(N-1,N-1),确定所述参考端点的坐标为:(0,N-1+N/scalar);其中,scalar是所述比例值;其中,所述图像块的大小为2Nx2N,所述图像块的左上角的点的坐标为(0,0);根据所述参考端点的坐标和所述位置参数值,确定所述划分线的端点的位置;根据所述划分线的端点的位置,确定第二长度。
5.根据权利要求4所述的方法,其特征在于,根据划分线的方向、第一长度、第二长度和第二参数值,确定所述图像块划分模式包括:当所述划分线的方向为从右上至左下时,当L2乘以scalar的值大于L1,所述图像块的点属于子第一子图像块;当L2乘以scalar的值小于L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于L1,所述图像块的点位于划分线上;当所述划分线的方向为从左上至右下时,当L2乘以scalar的值大于-L1,所述图像块的点属于第一子图像块;当L2乘以scalar的值小于-L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于-L1,所述图像块的点位于划分线上;其中,所述划分线属于第一子图像块或者第二子图像块;其中,所述第一子图像块和第二子图像块为图像块划分成的两个子图像块;所述L2为所述划分线的端点的横坐标减去所述图像块的点在所述图像块的边界上的对应点的横坐标的差;L2的绝对值为所述第二长度;L1为所述第一长度。
6.根据权利要求1所述的方法,其特征在于,对所述方向参数值进行编码包括:对所述方向参数值所对应的索引值进行编码;或者,对所述比例值进行编码包括:对所述比例值所对应的索引值进行编码;或者,对所述位置参数值进行编码包括:对所述位置参数值的绝对值所对应的索引值进行编码;或者,对所述方向参数值、比例值和位置参数值进行编码包括:对所述方向参数值、比例值和位置参数值中的两个值联合对应的索引值进行编码,对另一值进行编码或者对所述另一值所对应的索引值进行编码;所述另一值是方向参数值、比例值和位置参数值中除所述两个值以外的值;或者,对所述方向参数值、比例值和位置参数值进行编码包括:对所述方向参数值、比例值和位置参数值三者联合对应的索引值进行编码。
7.一种图像解码方法,其特征在于,包括:解析码流,获得方向参数值、比例值和位置参数值;其中,方向参数值表示划分线的方向;位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点;根据划分线的方向、比例值和位置参数值,确定第二长度,第二长度为图像块的点在所述图像块的边界上的对应点到划分线的端点的距离;根据划分线的方向、第一长度、第二长度和比例值,确定所述图像块划分模式,其中,第一长度为所述图像块的点到图像块的边界的距离。
8.根据权利要求7所述的方法,其特征在于,当所述图像块的边界是所述图像块的上边界或者下边界时,所述图像块中的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同横坐标的点;当所述图像块的边界是所述图像块的左边界或者右边界时,所述图像块中的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同纵坐标的点。
9.根据权利要求7所述的方法,其特征在于,所述参考端点是:与所述划分线平行、且过所述图像块中心的线与所述边界的交点。
10.根据权利要求9所述的方法,其特征在于,根据划分线的方向、比例值和位置参数值,确定第二长度包括:当划分线的方向为从左上至右下时,所述图像块的中心点的坐标为(N-1,N),确定所述参考端点的坐标为:(0,N-N/scalar);当划分线的方向为从右上至左下时,所述图像块的中心点的坐标为(N-1,N-1),确定所述参考端点的坐标为:(0,N-1+N/scalar);其中,scalar是所述比例值;其中,所述图像块的大小为2Nx2N,所述图像块的左上角的点的坐标为(0,0);根据所述参考端点的坐标和所述位置参数值,确定所述划分线的端点的位置;根据所述划分线的端点的位置,确定第二长度。
11.根据权利要求10所述的方法,其特征在于,根据划分线的方向、第一长度、第二长度和第二参数值,确定所述图像块划分模式包括:当所述划分线的方向为从右上至左下时,当L2乘以scalar的值大于L1,所述图像块的点属于子第一子图像块;当L2乘以scalar的值小于L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于L1,所述图像块的点位于划分线上;当所述划分线的方向为从左上至右下时,当L2乘以scalar的值大于-L1,所述图像块的点属于第一子图像块;当L2乘以scalar的值小于-L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于-L1,所述图像块的点位于划分线上;其中,所述划分线属于第一子图像块或者第二子图像块;其中,所述第一子图像块或者第二子图像块为图像块划分成的两个子图像块;所述L2为所述划分线的端点的横坐标减去所述图像块的点在所述图像块的边界上的对应点的横坐标的差;L2的绝对值为所述第二长度;L1为所述第一长度。
12.根据权利要求7所述的方法,其特征在于,解析码流,获得方向参数值包括:解析码流,获得第一索引值,获取所述第一索引值所对应的参数值,所获取的参数值为方向参数值;或者,解析码流,获得比例值包括:解析码流,获得第二索引值,获取所述第二索引值所对应的参数值,所获取的参数值为比例值;或者,解析码流,获得位置参数值包括:解析码流,获得第三索引值,获取所述第三索引值所对应的参数值,所获取的参数值为位置参数值的绝对值;或者,解析码流,获得方向参数值、比例值和位置参数值包括:解析码流,获得第四索引值和第五索引值;获取所述第四索引值所对应的参数值,所述第四索引值所对应的参数值包括所述方向参数值、比例值、位置参数值中的两个值;获取所述第五索引值所对应的参数值,所述第五索引值所对应的参数值为:方向参数值、比例值、位置参数值中除所述两个值以外的值;或者,解析码流,获得方向参数值、比例值和位置参数值包括:解析码流,获得方向参数值、比例值和位置参数值中的一个值,以及第四索引值;获取所述第四索引值所对应的参数值,所述第四索引值所对应的参数值包括所述方向参数值、比例值、位置参数值中除获得的所述一个值以外的两个值;或者,解析码流,获得方向参数值、比例值和位置参数值包括:解析码流,获得第六索引值;获取所述第六索引值所对应的参数值,所获取的参数值包括方向参数值、比例值、位置参数值。
13.一种编码设备,其特征在于,包括:长度确定单元,用于根据划分线的方向、比例值和位置参数值,确定第二长度,第二长度为图像块的点在图像块的边界上的对应点到划分线的端点的距离;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点;其中,所述位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;划分模式确定单元,用于根据划分线的方向、第一长度、第二长度和所述比例值,确定所述图像块的划分模式;其中,第一长度为图像块的点到所述图像块的边界的距离;编码单元,用于根据所述图像块的划分模式,对所述图像块进行编码;对方向参数值、比例值和位置参数值进行编码,其中,所述方向参数值表示所述划分线的方向。
14.根据权利要求13所述的编码设备,其特征在于,当所述图像块的边界是所述图像块的上边界或者下边界时,所述图像块的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同横坐标的点;当所述图像块的边界是所述图像块的左边界或者右边界时,所述图像块的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同纵坐标的点。
15.根据权利要求13所述的编码设备,其特征在于,所述参考端点是:与所述划分线平行、且过所述图像块中心的线与所述图像块的边界的交点;所述长度确定单元包括:参考端点位置确定单元,用于当划分线的方向为从左上至右下时,所述图像块的中心点的坐标为(N-1,N),确定所述参考端点的坐标为:(0,N-N/scalar);当划分线的方向为从右上至左下时,所述图像块的中心点的坐标为(N-1,N-1),确定所述参考端点的坐标为:(0,N-1+N/scalar);其中,scalar是所述比例值;其中,所述图像块的大小为2Nx2N,所述图像块的左上角的点的坐标为(0,0);划分线端点位置确定单元,用于根据所述参考端点的坐标和所述位置参数值,确定所述划分线的端点的位置;确定单元,用于根据所述划分线的端点的位置,确定第二长度。
16.根据权利要求15所述的编码设备,其特征在于,所述划分模式确定单元,用于当所述划分线的方向为从右上至左下时,当L2乘以scalar的值大于L1,所述图像块的点属于子第一子图像块;当L2乘以scalar的值小于L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于L1,所述图像块的点位于划分线上;当所述划分线的方向为从左上至右下时,当L2乘以scalar的值大于-L1,所述图像块的点属于第一子图像块;当L2乘以scalar的值小于-L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于-L1,所述图像块的点位于划分线上;其中,所述划分线属于第一子图像块和第二子图像块;其中,所述第一子图像块或者第二子图像块为图像块划分成的两个子图像块;所述L2为所述划分线的端点的横坐标减去所述图像块的点在所述图像块的边界上的对应点的横坐标的差;L2的绝对值为所述第二长度;L1为所述第一长度。
17.根据权利要求13所述的编码设备,其特征在于,所述编码单元,用于对方向参数值、比例值和位置参数值中一个值所对应的索引值进行编码,对方向参数值、比例值和位置参数值中除所述一个值以外的值进行编码;或者,所述编码单元,用于对所述方向参数值、比例值和位置参数值中的两个值联合对应的索引值进行编码,对另一值进行编码或者对所述另一值所对应的索引值进行编码;所述另一值是方向参数值、比例值和位置参数值中除所述两个值以外的值;或者,所述编码单元,用于对所述方向参数值、比例值和位置参数值三者联合对应的索引值进行编码。
18.一种解码设备,其特征在于,包括:解码单元,用于解析码流,获得方向参数值、比例值和位置参数值;其中,方向参数值表示划分线的方向;位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;长度确定单元,用于根据划分线的方向、比例值和位置参数值,确定第二长度;第二长度为图像块的点在图像块的边界上的对应点到划分线的端点的距离;图像块划分模式确定单元,用于根据划分线的方向、第一长度、第二长度和比例值,确定所述图像块划分模式,其中,第一长度为图像块的点到图像块的边界的距离。
19.根据权利要求18所述的解码设备,其特征在于,当所述图像块的边界是所述图像块的上边界或者下边界时,所述图像块中的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同横坐标的点;当所述图像块的边界是所述图像块的左边界或者右边界时,所述图像块中的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同纵坐标的点。
20.根据权利要求18所述的解码设备,其特征在于,所述参考端点是:与所述划分线平行、且过所述图像块中心的线与所述图像块的边界的交点;所述长度确定单元包括:参考端点位置确定单元,用于当划分线的方向为从左上至右下时,所述图像块的中心点的坐标为(N-1,N),确定所述参考端点的坐标为:(0,N-N/scalar);当划分线的方向为从右上至左下时,所述图像块的中心点的坐标为(N-1,N-1),确定所述参考端点的坐标为:(0,N-1+N/scalar);其中,scalar是所述比例值;其中,所述图像块的大小为2Nx2N,所述图像块的左上角的点的坐标为(0,0);划分线端点位置确定单元,用于根据所述参考端点的坐标和所述位置参数值,确定所述划分线的端点的位置;确定单元,用于根据所述划分线的端点的位置,确定第二长度。
21.根据权利要求20所述的解码设备,其特征在于,所述划分模式确定单元,用于当所述划分线的方向为从右上至左下时,当L2乘以scalar的值大于L1,所述图像块的点属于子第一子图像块;当L2乘以scalar的值小于L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于L1,所述图像块的点位于划分线上;当所述划分线的方向为从左上至右下时,当L2乘以scalar的值大于-L1,所述图像块的点属于第一子图像块;当L2乘以scalar的值小于-L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于-L1,所述图像块的点位于划分线上;其中,所述划分线属于第一子图像块和第二子图像块;其中,所述第一子图像块或者第二子图像块为图像块划分成的两个子图像块;所述L2为所述划分线的端点的横坐标减去所述图像块的点在所述图像块的边界上的对应点的横坐标的差;L2的绝对值为所述第二长度;L1为所述第一长度。
22.根据权利要求18所述的解码设备,其特征在于,解码单元包括:第一解码单元,用于解析码流,获得方向参数值;第二解码单元,用于解析码流,获得比例值;第三解码单元,用于解析码流,获得位置参数值;其中,所述第一解码单元,用于解析码流,获得第一索引值,获取所述第一索引值所对应的参数值,所获取的参数值为方向参数值;和/或,所述第二解码单元,用于解析码流,获得第二索引值,获取所述第二索引值所对应的参数值,所获取的第二索引值所对应的参数值为比例值;和/或,所述第三解码单元,用于解析码流,获得第三索引值,获取所述第三索引值所对应的参数值,所获取的第三索引值所对应的参数值为位置参数值的绝对值。
23.根据权利要求18所述的解码设备,其特征在于,解码单元,用于解析码流,获得第四索引值和第五索引值;获取所述第四索引值所对应的参数值,所述第四索引值所对应的参数值包括所述方向参数值、比例值、位置参数值中的两个值;获取所述第五索引值所对应的参数值,所述第五索引值所对应的参数值为:方向参数值、比例值、位置参数值中除所述两个值以外的值;或者,解码单元,用于解析码流,获得方向参数值、比例值和位置参数值中的一个值,以及第四索引值;获取所述第四索引值所对应的参数值,所述第四索引值所对应的参数值包括所述方向参数值、比例值、位置参数值中除获得的所述一个值以外的两个值;或者,解码单元,用于解析码流,获得第六索引值;获取所述第六索引值所对应的参数值,所获取的参数值包括方向参数值、比例值、位置参数值。技术领域
本发明涉及通信技术领域,特别涉及一种图像编解码方法及编解码设备。
背景技术
为了尽量减少传送视频数据所需要的带宽,可以采用多种视频压缩方法对视频数据进行压缩,其中视频压缩方法包括:帧内压缩和帧间压缩。现在多采用基于运动估计的帧间压缩方法,具体的,图像的编码端采用帧间压缩方法对图像压缩并编码的过程包括:编码端将待编码图像块划分成若干个大小相等的子图像块,然后针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测块,然后将该子图像块与预测块的相应像素值相减得到残差,并将该残差经变换与量化后得到的值进行熵编码,最后将熵编码得到的比特流和运动矢量信息一并发给解码端,其中,运动矢量信息表示当前子图像块与预测块的位置差。在图像的解码端,首先获得熵编码比特流后进行熵解码,得到相应的残差,及相应的运动矢量信息;然后根据运动矢量信息在参考图像中获得相应的匹配图像块(即上述预测块),再根据匹配图像块中各像素点的值和残差值中对应像素点的值相加得到当前子图像块中各像素点的值。在现有的视频编解码标准中,如移动图像专家组(Movingxa0PictureExpertsxa0Group,MPEG),H.264/AVC(Advancedxa0Videoxa0Coding,增强视频编码),一个图像块,或称为宏块(macroblock)、超宏块(super-macroblock)等,被划分为若干子图像块,这些子图像块的尺寸为16x16、16x8、8x16、8x8、8x4、4x8、4x4等,子图像块以这些尺寸进行上述的运动估计和运动补偿,图像的编码端需要将标识图像块划分方式的码字发送给图像的解码端,以便图像的解码端获知图像编码端的划分方式,并根据该划分方式和运动矢量信息,确定相应的预测块。在现有的视频编解码标准中这些子图像块均为NXM(N和M均为大于0的整数)的矩形块,并且N和M具有倍数关系。现有视频编解码标准中将图像块划分成矩形块,其缺点在于没有很好的考虑图像的纹理信息和物体的边界信息,图像通常包含了各种方向的纹理信息,这些纹理对应的往往不是一个矩形区域;并且,一幅图像中一般包含了多个物体,物体与物体间或物体与图像背景间会出现明显的边界,因此一个矩形区域可能会包含了两个物体或一个物体与图像背景的信息,从图像内容来看,该矩形区域被划分成了两个非矩形或非对称矩形的区域(或可被称为两个非规则划分区域)。此时,再使用现有标准中的NXM矩形块的方式进行运动估计,不能获得好的预测结果。针对上述问题,提出了非方块划分方法,即2Nx2N的图像块划分为两个任意形状子图像块,其中N为大于0的正整数,子图像块的形状可以为三角形、四边形、五边形等。由于2Nx2N图像块引入了非方块划分方法,图像块需要使用额外的标识方式用于标识当前图像块所采用的非方块划分方式。目前已有的非方块划分标识方法有图像块几何划分方法(GeometryPartition)。几何划分方法的基本原理是通过定义角度θ和距离ρ拟合出图像块的划分线,通过该划分线将图像块划分成两个子图像块,这两个子图像块形状可以为方块或非方块。上述距离ρ是指如图1所示图像块中心点到划分线的距离,角度θ是指如图1所示图像块划分线相对于X轴的旋转角度。划分线通过以下公式进行拟合: y = - 1 tan θ x + ρ sin θ = mx + c ]]> 现有技术具有如下缺点:图像块的划分线需要通过公式拟合,拟合过程中需要进行乘除法及三角函数运算。由于任意块划分的模式不止一种,如对于一个16x16尺寸的图像块而言,上述角度θ若以11.25度为单位从0递增360度,距离ρ以1为单位递增从0递增至8(图像块边长的一半),则共有(360/11.25)x8=256种划分方式,若所有的划分方式均需要通过上述公式进行拟合,则增加了图像编码端确定图像块划分方式的复杂度。
发明内容
本发明实施例提供一种图像编解码方法及编解码设备,其能够减少图像编码端确定图像块划分模式的复杂度。有鉴于此,本发明实施例提供:一种图像编码方法,包括:根据划分线的方向、比例值和位置参数值,确定第二长度,第二长度为图像块的点在图像块的边界上的对应点到划分线的端点的距离;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点;其中,所述位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;根据划分线的方向、第一长度、第二长度和所述比例值,确定所述图像块的划分模式;根据所述图像块的划分模式,对所述图像块进行编码;其中,第一长度为所述图像块的点到图像块的边界的距离;对方向参数值、比例值和位置参数值进行编码,其中,所述方向参数值表示所述划分线的方向。一种图像解码方法,包括:解析码流,获得方向参数值、比例值和位置参数值;其中,方向参数值表示划分线的方向;位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点;根据划分线的方向、比例值和位置参数值,确定第二长度,第二长度为图像块的点在所述图像块的边界上的对应点到划分线的端点的距离;根据划分线的方向、第一长度、第二长度和比例值,确定所述图像块划分模式,其中,第一长度为所述图像块的点到图像块的边界的距离。一种编码设备,包括:长度确定单元,用于根据划分线的方向、比例值和位置参数值,确定第二长度,第二长度为图像块的点在图像块的边界上的对应点到划分线的端点的距离;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点;其中,所述位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;划分模式确定单元,用于根据划分线的方向、第一长度、第二长度和所述比例值,确定所述图像块的划分模式;其中,第一长度为图像块的点到所述图像块的边界的距离;编码单元,用于根据所述图像块的划分模式,对所述图像块进行编码;对方向参数值、比例值和位置参数值进行编码,其中,所述方向参数值表示所述划分线的方向。一种解码设备,包括:解码单元,用于解析码流,获得方向参数值、比例值和位置参数值;其中,方向参数值表示划分线的方向;位置参数值表示划分线的端点在参考方向上与参考端点的相对位置;长度确定单元,用于根据划分线的方向、比例值和位置参数值,确定第二长度;第二长度为图像块的点在图像块的边界上的对应点到划分线的端点的距离;图像块划分模式确定单元,用于根据划分线的方向、第一长度、第二长度和比例值,确定所述图像块划分模式,其中,第一长度为图像块的点到图像块的边界的距离。本发明实施例利用划分线方向、比例值、表示划分线的端点在参考方向上与参考端点的相对位置的位置参数值三者确定第二长度,进一步根据划分线的方向、第一长度、第二长度和比例值,确定了图像块的划分模式,其中第一长度为图像块的点到图像块的边界的距离;第二长度为所述图像块的点在所述图像块的边界上的对应点到划分线的端点的距离,这样,就不需要对划分线进行拟合,减少了图像编码端和图像解码端确定图像块划分模式的复杂度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术提供的划分线拟合示意图;图2A是本发明一实施例提供的图像编码方法流程图;图2B是本发明一实施例提供的图像解码方法流程图;图3是本发明又一实施例提供的图像编码方法流程图;图4是本发明实施例提供的一种从右上到左下方向划分的图像分割示意图;图5是本发明实施例提供的另一种从右上到左下方向划分的图像分割示意图;图6是本发明实施例提供的一种从左下到右上方向划分的图像分割示意图;图7是本发明实施例提供的另一种从左下到右上方向划分的图像分割示意图;图8是本发明实施例提供的比例值scalar=1时参考端点的位置图;图9是本发明实施例提供的scalar=2时参考端点的位置图;图10是本发明实施例提供的scalar=1/2时参考端点的位置图;图11是本发明实施例提供的scalar=4时参考端点的位置图;图12是本发明实施例提供的scalar=1/4时参考端点的位置图;图13是本发明实施例提供的图像解码方法流程图;图14是本发明实施例提供的编码设备结构图;图15是本发明实施例提供的解码设备结构图;图16是本发明实施例提供的系统结构图。
具体实施方式
参阅图2A,本发明实施例提供一种图像编码方法,其包括:201A、根据划分线的方向、比例值和位置参数值,确定第二长度。具体的,可以根据划分线的方向、比例值和位置参数值,确定第一长度和第二长度,其中,第一长度为图像块的点到图像块的边界的距离;第二长度为所述图像块的点在所述图像块的边界上的对应点到划分线的端点的距离;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点;其中,所述位置参数值表示划分线的端点在参考方向上与参考端点的相对位置。其中,该实施例各步骤的执行主体是图像编码端。其中,参考方向可以为水平方向或者垂直方向;所述图像块的点在所述图像块的边界上的对应点为:所述图像块的点在该图像块的边界上的垂直投影点;当所述图像块的边界是所述图像块的上边界或者下边界时,所述图像块的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同横坐标的点;当所述图像块的边界是所述图像块的左边界或者右边界时,所述图像块的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述图像块的点具有相同纵坐标的点。其中,比例值可以表示第一距离与第二距离的比值,第一距离为划分线上的非边界点到图像块的边界的距离;第二距离为划分线上的非边界点在所述图像块的边界上的对应点到划分线的端点的距离;其中,划分线上的非边界点在所述图像块的边界上的对应点为所述划分线上的非边界点在该图像块的边界上的垂直投影点。当所述图像块的边界是所述图像块的上边界或者下边界时,所述划分线上的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述划分线上的点具有相同横坐标的点;当所述图像块的边界是所述图像块的左边界或者右边界时,所述划分线上的点在所述图像块的边界上的对应点是:位于所述图像块的边界上,且与所述划分线上的点具有相同纵坐标的点。其中,位置参数值的绝对值表示划分线的端点在参考方向上与参考端点的距离;位置参数值的不同符号表示所述划分线的端点位于所述参考端点的不同侧。当参考方向为水平方向时,位置参数值的符号表示该划分线的端点位于参考端点的左侧还是右侧;当参考方向为垂直方向时,位置参数值的符号表示该划分线的端点位于参考端点的上侧还是下侧。其中,参考端点是:与所述划分线平行、且过所述图像块中心的线与所述图像块的边界的交点。其中,本实施例中的图像块的点可以是该图像块的像素点;划分线上的点为该划分线上的像素点。其中,根据划分线的方向、比例值和位置参数值,确定第一长度和第二长度的具体过程包括:当划分线的方向为从左上至右下时,所述图像块的中心点的坐标为(N-1,N),确定所述参考端点的坐标为:(0,N-N/scalar);当划分线的方向为从右上至左下时,所述图像块的中心点的坐标为(N-1,N-1),确定所述参考端点的坐标为:(0,N-1+N/scalar);其中,scalar是所述比例值;其中,所述图像块的大小为2Nx2N,所述图像块的左上角的点的坐标为(0,0);根据所述参考端点的坐标和所述位置参数值,确定所述划分线的端点的位置;根据所述划分线的端点的位置,确定第二长度,可选的,可以根据所述比例值和所述划分线的端点的位置,确定第一长度和第二长度。其中,图像块的左上角的点为位于该图像块的左上角的像素点。202A、根据划分线的方向、第一长度、第二长度和所述比例值,确定所述图像块的划分模式。其中,图像块的划分模式表示该图像块所划分成的子图像块的大小及形状。具体的,当所述划分线的方向为从右上至左下时,当L2乘以scalar的值大于L1,所述图像块的点属于子第一子图像块;当L2乘以scalar的值小于L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于L1,所述图像块的点位于划分线上;当所述划分线的方向为从左上至右下时,当L2乘以scalar的值大于-L1,所述图像块的点属于第一子图像块;当L2乘以scalar的值小于-L1,所述图像块的点属于第二子图像块;当L2乘以scalar的值等于-L1,所述图像块的点位于划分线上;其中,所述划分线属于第一子图像块或者第二子图像块;其中,第一子图像块可以为位于所述图像块左边的子图像块;第二子图像块为位于所述图像块右边的图像块。所述第一子图像块和第二子图像块为图像块划分成的两个子图像块;所述L2为所述划分线的端点的横坐标减去所述图像块的点在所述图像块的边界上的对应点的横坐标的差;L2的绝对值为所述第二长度;L1为所述第一长度。其中,图像块的边界可以为图像块的上边界。其中,第一子图像块可以是图4、图5、图6、图7中的子图像块0;第二子图像块可以是图4、图5、图6、图7中的子图像块1。203A、根据所述图像块的划分模式,对所述图像块进行编码;对方向参数值、比例值和位置参数值进行编码,其中,所述方向参数值表示所述划分线的方向。具体的,该步骤对方向参数值、比例值和位置参数值进行编码时,可以对方向参数值、比例值和位置参数值任意一个值所对应的索引值进行编码,对其他两个值直接进行编码,即对所述方向参数值所对应的索引值进行编码,对比例值和位置参数值直接进行编码;或者,对所述比例值所对应的索引值进行编码,对方向参数值和位置参数值直接进行编码;或者,对所述位置参数值的绝对值所对应的索引值进行编码,对方向参数值和比例值直接进行编码。或者,该步骤对方向参数值、比例值和位置参数值进行编码时,可以对所述方向参数值、比例值和位置参数值中的两个值联合对应的索引值进行编码,对另一值进行编码或者对所述另一值所对应的索引值进行编码;所述另一值是方向参数值、比例值和位置参数值中除所述两个值以外的值。或者,该步骤对方向参数值、比例值和位置参数值进行编码时,对所述方向参数值、比例值和位置参数值三者联合对应的索引值进行编码。本发明实施例利用划分线方向、比例值、表示划分线的端点在参考方向上与参考端点的相对位置的位置参数值三者确定第二长度,进一步根据第一长度、第二长度、划分线方向和比例值确定了图像块的划分模式,其中,第一长度为图像块的点到图像块的边界的距离;第二长度为所述图像块的点在所述图像块的边界上的对应点到划分线的端点的距离,这样,就不需要对划分线进行拟合,减少了图像编码端确定图像块划分模式的复杂度。参阅图2B,本发明实施例提供一种图像解码方法,其包括:201B、解析码流,获得方向参数值、比例值和位置参数值。其中,该实施例各步骤的执行主体是图像解码端。其中,方向参数值、比例值和位置参数值的定义与上述实施例相同,在此不再赘述。其中,该步骤中,解析码流,获得方向参数值的方式包括:解析码流,获得第一索引值,获取所述第一索引值所对应的参数值,所获取的参数值为方向参数值;解析码流,获得比例值的方式包括:解析码流,获得第二索引值,获取所述第二索引值所对应的参数值,所获取的参数值为比例值;解析码流,获得位置参数值的方式包括:解析码流,获得第三索引值,获取所述第三索引值所对应的参数值,所获取的参数值为位置参数值的绝对值;解析码流,获得方向参数值、比例值和位置参数值的方式可以包括:解析码流,获得第四索引值和第五索引值;获取所述第四索引值所对应的参数值,所述第四索引值所对应的参数值包括所述方向参数值、比例值、位置参数值中的两个值;获取所述第五索引值所对应的参数值,所述第五索引值所对应的参数值为:方向参数值、比例值、位置参数值中除所述两个值以外的值;或者,解析码流,获得第四索引值和方向参数值、比例值和位置参数值中的一个值;获取所述第四索引值所对应的参数值,所述第四索引值所对应的参数值包括所述方向参数值、比例值、位置参数值中除所获得的一个值以外的两个值;或者,获取所述第六索引值所对应的参数值,所获取的参数值包括方向参数值、比例值、位置参数值。202B、根据方向参数值、比例值和位置参数值,确定第二长度。具体的,可以根据划分线的方向、比例值和位置参数值,确定第一长度和第二长度,其中,第一长度为图像块的点到图像块的边界的距离;第二长度为所述图像块的点在所述图像块的边界上的对应点到划分线的端点的距离;所述划分线的端点为所述划分线与所述图像块的边界或者所述图像块的边界的延长线的交点。其中,该步骤中确定第一长度和第二长度的方式与上述实施例中确定的方式相同,在此不再赘述。其中,图像块的点可以是图像块的像素点,划分线上的点可以是划分线上的像素点。203B、根据划分线的方向、第一长度、第二长度和比例值,确定所述图像块划分模式。其中,该步骤中确定图像块划分模式的方式与上述实施例中确定的方式相同,在此不再赘述。其中,图像块的划分模式表示该图像块所划分成的子图像块的大小及形状。后续,图像解码端可以根据图像块的划分模式,对图像编码端对图像块的编码结果进行解码,得到图像块的各像素点的值。本发明实施例利用划分线方向、比例值、表示划分线的端点在参考方向上与参考端点的相对位置的位置参数值三者确定第二长度,进一步根据第一长度、第二长度、划分线方向和比例值确定了图像块的划分模式,第一长度为图像块的点到图像块的边界的距离;第二长度为所述图像块的点在所述图像块的边界上的对应点到划分线的端点的距离,这样,就不需要对划分线进行拟合,减少了图像解码端确定图像块划分模式的复杂度。为了使图2A所示实施例提供的技术方案更加清楚明白,如下实施例将对本发明实施例提供的图像编码方法进行详细描述:图3示出了本发明实施例提供的图像编码方法流程图,该图像编码方法具体包括:步骤301、图像编码端确定划分线的方向、比例值scalar和位置参数值pos。具体的,该步骤中,图像编码端可以根据用户输入的分割命令确定划分线的方向、比例值和位置参数值,此时,用户输入的分割命令中包括划分线的方向的指示信息,比例值,和位置参数值,其中,用户可以根据图像的纹理、物体的边界和图像的背景边界确定划分线的方向、比例值scalar和位置参数值pos。或者,图像编码端根据某种规则确定划分线的方向、比例值和位置参数值,比如,图像编码端可以根据图像的纹理、物体的边界和图像的背景边界确定划分线的方向、比例值scalar和位置参数值pos。其中,划分线的方向可以为从左上至右下,或者从右上至左下,比例值scalar和位置参数值pos的相关定义与图2A所对应实施例中的比例值和位置参数值的相关定义相同,在此不再赘述。具体的,本发明实施例假定图像块的左上角为坐标系原点,斜实线表示图像块的划分线,斜虚线表示基准线,其中基准线为与划分线平行且过该图像块中心的线。各图中划分线将图像块划分成两个子图像块,即子图像块0和子图像块1。图4中划分线与图像块的上边界的交点为A,与图像块的左边界的交点为B;图5中划分线与图像块的上边界的延长线的交点为A,与图像块的左边界的延长线的交点为B;图6中划分线与图像块的上边界的交点为A;图7中划分线与图像块的上边界延长线的交点为A。像素点Q为划分线上的一个像素点,假定其坐标为(y,x),该像素点Q在图像块上边界的垂直投影点(即位于该图像块的上边界上且与该像素点具有相同横坐标的像素点)为Q’。从图中可以看出,该像素点Q到图像块的上边界的垂直距离为该像素点的纵坐标,即y;假定像素点Q’到交点A的距离为x’,则scalar为:scalar=y/x’。其中,对于图4和图5如果像素点Q与交点B重合,则scalar=BO/AO,其中,BO为交点B到像素点O的距离;AO为交点A到像素点O的距离,像素点O为位于图像块左上角的像素点。其中,需要说明的是,该步骤中确定了scalar的值,即确定了划分线与水平方向的夹角,其中,scalar的值可以为2,1/2,3,1/3;4;1/4等,对应的划分线与水平方向的夹角分别为63.4度,26.6度,71.6度,18.4度,76度,14度。步骤302、图像编码端根据划分线的方向和比例值,确定参考端点的坐标。从图4和图5或者从图6和图7可以看出,pos大于0与小于0时划分线的端点A的位置不同。由于当pos的绝对值相同但符号不同时,此时这两个pos所对应的划分线的端点A关于参考端点C(即pos的值为0时划分线与上边界的交点)对称分布,因此参考端点C的位置决定了pos不为0时划分线与图像的上边界或者上边界延长线的交点(划分线的端点A)的位置。也就是说为了有效确定图像块的像素点的L1(即图像块的像素点到图像块的边界的距离)和L2(即划分线的端点的横坐标减去所述图像块的像素点在所述图像块的边界上的对应点的横坐标的差),需要确定划分线的端点A的位置,因而需要确定参考端点的位置。由于为保证任意块划分标识参数(方向参数值、比例值和位置参数值)的编码效率高,pos值为0时划分线应该保证图像块被等分或尽可能被等分。因此,pos值为0时划分线应该经过图像块的中心点,设图像块大小为2Nx2N,图像块左上角的像素点的坐标为(0,0),本发明实施例中假定图像块中的点均以整像素为单位变化,则图像块的中心点坐标可以为(N-1,N-1)或(N,N-1)或(N-1,N)或(N,N)。具体的,当划分线的方向为从左上至右下时,所述图像块的中心点的坐标为(N-1,N),确定所述参考端点的坐标为:(0,N-N/scalar);当划分线的方向为从右上至左下时,所述图像块的中心点的坐标为(N-1,N-1),确定所述参考端点的坐标为:(0,N-1+N/scalar);其中,scalar是所述比例值。如下描述划分线方向为沿右上至左下时,不同的scalar对应的参考端点的位置:scalar=1时,参考端点坐标为(0,2N-1),如图8所示;scalar=2时,参考端点坐标为(0,N-1+N/2),如图9所示;scalar=1/2时,参考端点坐标为(0,3N-1),如图10所示;scalar=4时,参考端点坐标为(0,N-1+N/4),如图11所示;scalar=1/4时,参考端点坐标为(0,5N-1),如图12所示;若图像块的尺寸为16x16,即2N=16,则不同的scalar值对应的参考端点的位置为:scalar=1时,参考端点坐标为(0,15);scalar=2时,参考端点坐标为(0,11);scalar=1/2时,参考端点坐标为(0,23);scalar=4时,参考端点坐标为(0,9);scalar=1/4时,参考端点坐标为(0,39)。如下描述划分线方向为沿左上至右下时,不同的scalar对应的参考端点的位置:scalar=1时,参考端点坐标为(0,0);scalar=2时,参考端点坐标为(0,N-1-N/2);scalar=1/2时,参考端点坐标为(0,N-1-2N);scalar=4时,参考端点坐标为(0,N-1-N/4);scalar=1/4时,参考端点坐标为(0,N-1-4N);若图像块的尺寸为16x16,即2N=16,则不同的scalar值对应的参考端点的位置为:scalar=1时,参考端点坐标为(0,0);scalar=2时,参考端点坐标为(0,3);scalar=1/2时,参考端点坐标为(0,-9);scalar=4时,参考端点坐标为(0,5);scalar=1/4时,参考端点坐标为(0,-25)。步骤303、图像编码端根据参考端点的坐标和pos值,确定所述划分线的端点的位置。根据pos值的符号,确定划分线的端点在参考端点的哪一侧,当参考方向为水平方向时,pos值的符号表示该划分线的端点位于参考端点的左侧还是右侧;当参考方向为垂直方向时,pos值的符号表示该划分线的端点位于参考端点的上侧还是下侧。根据pos值的绝对值,确定划分线的端点与参考端点的距离;根据所确定的划分线的端点的具体侧(即当参考方向为水平方向,具体侧为左侧还是右侧,参考方向为垂直方向时,具体侧为上侧还是下侧)和划分线的端点与参考端点的距离,以及参考端点的坐标,确定划分线的端点的坐标。步骤304、图像编码端根据所述比例值和所述划分线的端点的位置,确定图像块的像素点到图像块的边界的距离L1,以及划分线的端点的横坐标减去所述图像块的像素点在所述图像块的边界上的对应点的横坐标的差L2。步骤305、图像编码端根据所述L1和L2,以及划分线的方向和scalar,确定图像块的划分模式。其中,图像块的划分模式表示该图像块所划分成的两个子图像块的大小及形状。其中,这两个子图像块可以为非规则子图像块,这两个非规则子图像块可以为三角形,或五边形。具体的,这两个非规则子图像块可以都为三角形,也可以一个子图像块为三角形,另一个子图像块为五边形,也可以两个子图像块都为五边形,不影响本发明的实现。具体的,使用以下三种方法判断图像块的点属于子图像块0或属于子图像块1:第一种方式:当第一参数值为0时,即图像块的划分线的方向为从右上至左下时,当L2乘以scalar的值大于等于L1,则所述图像块的点属于子图像块0;否则,所述图像块的点属于子图像块1。当第一参数值为1时,即图像块的划分线的方向为从左上至右下时,当L2乘以scalar的值大于等于-L1,则所述图像块的点属于子图像块0;否则,所述图像块的点属于子图像块1。第二种方式:当第一参数值为0时,即图像块的划分线的方向为从右上至左下时,当L2乘以scalar的值大于L1,则所述图像块的点属于子图像块0;否则,所述图像块的点属于子图像块1。当第一参数值为1时,即图像块的划分线的方向为从左上至右下时,当L2乘以scalar的值大于-L1,则所述图像块的点属于子图像块0;否则,所述图像块的点属于子图像块1。第三种方式:当第一参数值为0时,即图像块的划分线的方向为从右上至左下时,当L2乘以scalar的值大于L1,则所述图像块的点属于子图像块0;否则,当L2乘以scalar的值小于L1,所述图像块的点属于子图像块1;否则,所述图像块的点位于图像块划分线上,其中,该划分线可以位于子图像块0也可以位于子图像块1。当第一参数值为1时,即图像块的划分线的方向为从左上至右下时,当L2乘以scalar的值大于-L1,则所述图像块的点属于子图像块0;否则,当L2乘以scalar的值小于-L1,所述图像块的点属于子图像块1;否则,所述图像块的点位于图像块划分线上,其中,该划分线可以位于子图像块0也可以位于子图像块1。步骤306、图像块编码端根据图像块的划分模式,在参考图像中查找预测块,所述预测块是与所划分成的子图像块最匹配的图像块;图像编码端根据所划分成的子图像块和相应的预测块,获得残差和运动矢量信息。其中,残差为所划分成的子图像块与预测块相应像素点的像素值的差值;运动矢量信息表示所划分成的子图像块与预测块的位置差。步骤307、图像编码端将残差进行变换和量化,然后将残差进行变换和量化后的值、数据头进行编码,得到码流并发送。其中,数据头包括:运动矢量信息、表示划分线方向的方向参数值、比例值scalar、位置参数值pos、序列参数集(sequencexa0parameterxa0set,sps)、图像参数集(picturexa0parameterxa0set,pps)、条带头等。其中,对方向参数值、比例值scalar、位置参数值pos进行编码的方式见后续详细描述。本发明实施例利用划分线方向、比例值、表示划分线的端点在参考方向上与参考端点的相对位置的位置参数值三者,确定图像块的像素点到图像块的边界的距离L1,以及划分线的端点的横坐标减去所述图像块的像素点在所述图像块的边界上的对应点的横坐标的差L2,进一步根据L1和L2,以及划分线的方向和scalar,确定了图像块的划分模式,这样,就不需要对划分线进行拟合,减少了图像编码端确定图像块划分模式的复杂度。为了使图2B所示实施例提供的技术方案更加清楚明白,如下实施例将对本发明实施例提供的图像解码方法进行详细描述:图13示出了本发明实施例提供的图像解码方法流程图,该图像解码方法具体包括:步骤1301、图像解码端接收到图像编码端发送的码流,解析码流得到方向参数值、比例值和位置参数值、运动矢量信息和残差。其中,方向参数值、比例值和位置参数值与图2A和图2B所示实施例中的定义相同,在此不再赘述。具体的,解析码流得到方向参数值、比例值和位置参数值的过程见后续详细描述。步骤1302、图像解码端根据方向参数值,确定划分线的方向。具体的,图像解码端根据方向参数值,确定划分线的方向是沿右上到左下,还是沿左下到右上。步骤1303、图像解码端根据划分线的方向和比例值,确定参考端点的坐标。具体的,确定参考端点的方式与步骤302中的相应描述相似,在此不再赘述。步骤1304、图像解码端根据参考端点的坐标和pos值,确定所述划分线的端点的位置。具体的,确定所述划分线的端点的位置与步骤303中的相应描述相似,在此不再赘述。步骤1305、图像解码端根据所述比例值和所述划分线的端点的位置,确定图像块的点到图像块的边界的距离L1,以及划分线的端点的横坐标减去所述图像块的点在所述图像块的边界上的对应点的横坐标的差L2。步骤1306、图像解码端根据所述L1和L2,以及划分线的方向和scalar,确定图像块的划分模式。具体的,确定所图像块的划分模式与步骤305中的相应描述相似,在此不再赘述。具体的,当划分线方向为沿右上至左下时,当图像块内的像素点(y,x)的坐标值满足以下条件时,该像素点位于划分线上:TerminalPosi-pos-x=y/scalar当划分线方向为沿左上至右下时,当图像块内的像素点(y,x)的坐标值满足以下条件时,该像素点位于划分线上:x-TerminalPosi-pos=y/scalar其中,TerminalPosi为参考端点的横坐标。由于图像块被划分线划分成两个子图像块,则位于该划分线上的像素点可属于标号为0的子图像块,也可属于标号为1的子图像块,图像块标号如图4、图5、图6和图7所示。当划分线方向为从右上至左下时,当图像块内的像素点(y,x)的坐标值满足以下条件时,该像素点位于子图像块0内:TerminalPosi-pos-x>y/scalar否则,该像素点位于子图像块1。当划分线方向为从左上至右下时,当图像块内的像素点(y,x)的坐标值满足以下条件时,该像素点位于子图像块0:x-TerminalPosi-pos